package cn.didi.feidi.androidorder.model;

import cn.didi.feidi.androidorder.Constants;

/**
 * Created by king on 2017/8/28.
 */

public class MoneyUserLog {
    private String moneyUserLogId;
    /* 用户id  */
    private String waterUserId;
    /*押金*/
    private Double deposit;
    /*余额*/
    private Double balance;
    /*冻结余额*/
    private Double freezeBalance;
    /*余额变化，相对于钱包，正数表示钱包余额增加，负数便是钱包余额减少*/
    private Double balanceChange;
    /*押金变化，和上面的balanceChange同理*/
    private Double depositChange;

    /*余额变化原因：参考cn.didi.feidi.javabackend.enumeration.money.MoneyWaDeConstant*/
    private Integer reason;
    /*创建时间*/
    private long createTime;

    public Double getDepositChange() {
        return depositChange;
    }

    public void setDepositChange(Double depositChange) {
        this.depositChange = depositChange;
    }


    /**
     * 余额变化原因：0送水提成 1余额提现，2支付订单 暂定 20170827
     * public static final int BALANCE_CHANGE_WITHDRAW=1;//1余额提现
     * public static final int BALANCE_CHANGE_PAY_ORDER=2;//支付订单
     * public static final int BALANCE_CHANGE_CHARGE=3;//充值
     * public static final int FREEZE_BALANCE_CHANGE_WITHDRAW=4;//冻结余额提现
     * public static final int BALANCE_CHANGE_WITHDRAW_FALSE=5;//提款申请失败，将冻结余额转到可用余额
     * public static final int DEPOSIT_CHANGE_PAY=6;//押金支付
     * public static final int DEPOSIT_CHANGE_WITHDRAW=7;//押金提款
     *
     *
     public static final int BALANCE_CHANGE_BROKERAGE=0;//0送水提成
     public static final int BALANCE_CHANGE_WITHDRAW=1;//1余额提现
     public static final int BALANCE_CHANGE_PAY_ORDER=2;//支付订单
     public static final int BALANCE_CHANGE_CHARGE=3;//充值
     public static final int FREEZE_BALANCE_CHANGE_WITHDRAW=4;//冻结余额提现
     public static final int BALANCE_CHANGE_WITHDRAW_FALSE=5;//提款申请失败，将冻结余额转到可用余额
     public static final int DEPOSIT_CHANGE_PAY=6;//押金支付
     public static final int DEPOSIT_CHANGE_WITHDRAW=7;//押金提款
     public static final int BOND_CHANGE_PAY=8;//保证金支付
     public static final int BOND_CHANGE_WITHDRAW=9;//保证金提款
     public static final int ORDER_USER_REDUND=10;//用户订单退款
     */
    public String getSource() {
        switch (reason) {
            case Constants.BALANCE_CHANGE_WITHDRAW:
                return "提现";
            case Constants.BALANCE_CHANGE_PAY_ORDER:
                return "支付订单";
            case Constants.BALANCE_CHANGE_CHARGE:
                return "充值";
            case Constants.FREEZE_BALANCE_CHANGE_WITHDRAW:
                return "冻结余额提现";
            case Constants.BALANCE_CHANGE_WITHDRAW_FALSE:
                return "提款申请失败";
            case Constants.DEPOSIT_CHANGE_PAY:
                return "押金支付";
            case Constants.DEPOSIT_CHANGE_WITHDRAW:
                return "押金提款";
            case Constants.BOND_CHANGE_PAY:
                return "押金提款";
            case Constants.BOND_CHANGE_WITHDRAW:
                return "保证金提款";
            case Constants.ORDER_USER_REDUND:
                return "用户订单退款";
            case Constants.ALIPAY_WITHDRAW_ERROR:
                return "支付宝提现失败";
            case Constants.ORDER_USER_PROFIT_DELIVER:
                return "订单利润";
            case Constants.ORDER_USER_EARN_STORE:
                return "订单利润";
            case Constants.ORDER_USER_FINISH_FREEZE_BALANCE:
                return "扣除用户钱包的冻结余额";
            case Constants.DEPOSIT_RETURN:
                return "押金退还";
            default:
                return "未知来源";
        }
    }

    public String getMoneyUserLogId() {
        return moneyUserLogId;
    }

    public void setMoneyUserLogId(String moneyUserLogId) {
        this.moneyUserLogId = moneyUserLogId;
    }

    public String getWaterDeliverId() {
        return waterUserId;
    }

    public void setWaterDeliverId(String waterDeliverId) {
        this.waterUserId = waterDeliverId;
    }

    public Double getDeposit() {
        return deposit;
    }

    public void setDeposit(Double deposit) {
        this.deposit = deposit;
    }

    public Double getBalance() {
        return balance;
    }

    public void setBalance(Double balance) {
        this.balance = balance;
    }

    public Double getFreezeBalance() {
        return freezeBalance;
    }

    public void setFreezeBalance(Double freezeBalance) {
        this.freezeBalance = freezeBalance;
    }

    public Double getBalanceChange() {
        return balanceChange;
    }

    public void setBalanceChange(Double balanceChange) {
        this.balanceChange = balanceChange;
    }

    public Integer getReason() {
        return reason;
    }

    public void setReason(Integer reason) {
        this.reason = reason;
    }

    public long getCreateTime() {
        return createTime;
    }

    public void setCreateTime(long createTime) {
        this.createTime = createTime;
    }
}
